{
g_return_if_fail (shadow->class == >K_CSS_VALUE_SHADOW);
+ /* We don't need to draw invisible shadows */
+ if (gtk_rgba_is_clear (_gtk_css_rgba_value_get_rgba (shadow->color)))
+ return;
+
if (!cairo_has_current_point (cr))
cairo_move_to (cr, 0, 0);
g_return_if_fail (shadow->class == >K_CSS_VALUE_SHADOW);
+ /* We don't need to draw invisible shadows */
+ if (gtk_rgba_is_clear (_gtk_css_rgba_value_get_rgba (shadow->color)))
+ return;
+
cairo_save (cr);
pattern = cairo_pattern_reference (cairo_get_source (cr));
g_return_if_fail (shadow->class == >K_CSS_VALUE_SHADOW);
+ /* We don't need to draw invisible shadows */
+ if (gtk_rgba_is_clear (_gtk_css_rgba_value_get_rgba (shadow->color)))
+ return;
+
cairo_clip_extents (cr, &x1c, &y1c, &x2c, &y2c);
if ((shadow->inset && !_gtk_rounded_box_intersects_rectangle (padding_box, x1c, y1c, x2c, y2c)) ||
(!shadow->inset && _gtk_rounded_box_contains_rectangle (padding_box, x1c, y1c, x2c, y2c)))